home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
User's Choice Windows CD
/
User's Choice Windows CD (CMS Software)(1993).iso
/
utility2
/
wine02bx.zip
/
LISP
/
BYTECOMP
/
BYTE-OPT.ELC
< prev
next >
Wrap
Text File
|
1993-03-28
|
23KB
|
52 lines
;;; compiled by @win386 on Sat Mar 13 01:57:08 1993
;;; from file c:/src/lucid-19.4/lisp/bytecomp/byte-opt.el
;;; emacs version 19.3 Lucid.
;;; bytecomp version 2.08; 27-aug-92.
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs18.
(if (and (boundp 'emacs-version)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19")))
(error "This file was compiled for Emacs19."))
(byte-code "└┴┬\"ê├─!¼ä┼╞!ê╟╚Mê╔╩Mê╦╠═╬#ç" [require byte-compile "bytecomp" fboundp byte-compile-lapcode error "loading bytecomp got the wrong version of the compiler." byte-compile-log-lap-1 #[(format &rest args) "┴H½ä┬├!ê─┼╞╟ë ╩╦\"*#!ç" [byte-code-vector 0 error "The old version of the disassembler is loaded. Reload new-bytecomp as well." byte-compile-log-1 apply format nil a c mapcar #[(arg) ":¼ù9½æ┴┬├!\"½ë─├!┼╞O!çç@뿽å╚╔\"ê╩=½à¬│>½åAA@¬Ä>½àA@¬éA├!┴╬\"½ë─┼╞O!╧=½â╨A╤=½ë╥>¼âç╙╘#ç" [arg string-match "^byte-" symbol-name intern 5 nil c error "non-symbolic byte-op %s" TAG byte-goto-ops byte-constref-ops a "^byte-." constant const 0 (unbind call const) format "(%s %s)"] 4] args] 7] byte-compile-log-lap (macro . #[(format-string &rest args) "└┴┬BBEç" [and (memq byte-optimize-log '(t byte)) byte-compile-log-lap-1 format-string args] 5]) put inline byte-optimizer byte-optimize-inline-handler] 4)
(fset 'byte-optimize-inline-handler #[(form) "└┴┬A\"Bç" [progn mapcar #[(sexp) "óë9½¿ \n₧A¼¥├ !½¥ ₧A¼ù Kë:½å @┼=¼è╞ !¼à╟!¬ü)ç" [sexp fn byte-compile-function-environment fboundp byte-compile-macro-environment macro subrp byte-compile-inline-expand] 3] form] 4 "\
byte-optimize-handler for the `inline' special-form."])
(fset 'byte-inline-lapcode #[(lap) "ƒ ñëç" [lap byte-compile-output] 2 "\
splice the given lap code into the current instruction stream.
If it has any labels in it, you're responsible for making sure there
are no collisions, and that byte-compile-tag-number is reasonable
after this is spliced in. the provided list is destroyed."])
(byte-code "└┴Mê┬├Mê─┼Mç" [byte-compile-inline-expand #[(form) "@ë\n₧A«ç├ !¡é Kë¼ê┼╞ \"ê¬╫:½î@╟=½å╚A@!ê:½Ä@╟=½ê╔╩A@ #ê9½ê╦AB!¬⌐╠!½ò═╬H╧╨H╤H╥HFEAB¬Å@═=¼à╔╙ \"êAB*ç" [form name byte-compile-function-environment fboundp fn byte-compile-warn "attempt to inline %s before it was defined" autoload load error "file \"%s\" didn't define \"%s\"" byte-compile-inline-expand compiled-function-p lambda 0 byte-code 1 2 3 "%s is not a lambda"] 8] byte-compile-unfold-lambda #[(form &optional name) "¼é┴\n@\nA┼!½æ─╞H╟╚H╔H╩HFEA@AA╦ëë@;½èA½àA@:½ì@@╤=½àAâ▄ @╥=½ÿ½à╙╘\"êA¼à╙╒\"ê╓¬┘@╫=½ÜA¼à╙╪\"êAA½à╙┘\"ê╓¬╕½ô@¡â┌BDB╦¬í¼Å¼î█▄\"ê╦▌¬Ä@@DBAAë¼ ½ì▌=¼à█▐\"ê\n¬╕½è▀ƒBB¬äαB!\"½¥#Σ>½ù╓σë&'(ΘΩδ∞\n!∞!!#!ê+!).ç" [name "anonymous lambda" form values lambda compiled-function-p 0 byte-code 1 2 3 nil bindings restp optionalp body arglist interactive &optional error "&optional found after &rest in %s" "nothing after &optional in %s" t &rest "nothing after &rest in %s" "multiple vars after &rest in %s" list byte-compile-warn "attempt to open-code %s with too few arguments" too-few "attempt to open-code %s with too many arguments" let progn newform byte-optimize byte-optimize-log (t source) 4 print-length print-level print-escape-newlines byte-compile-log-1 format " %s ==> %s" prin1-to-string] 8] byte-optimize-form-code-walker #[(form for-effect) "ó┴:¼û¡ï«ê9?«â╞=?à6é6╟=½¢AA½ç╚╔╩!\"êA@à6?à6é6╦!¼åó╠=½å═!é6╬>½Æ╧╨A@\"╤AA\"BBé6╥=½è╧╙A\"Bé6╘=½úAA½ò╤A\"ëA½å╘\nBé6\n@é6╒A@\"é6╓=½áAA½Æ╓╒A@\"╤AA╞\"BBé6╒A@\"é6╫=½Ü╫╒A@╞\"╒╪8\"╤AAA╞\"BBBé6┘>½è╤A\"Bé6┌=½Æ╒A@┴\"╤AA\"BBé6█=½Ö╒A@┴\"╒╪8\"╤▄¢\"BBBé6▌>½█½╬▐A!ë½ô╒@\"á¼êAë¼mA½í¼¥ ½Ö!Γ>½ô╞πë$%&τΦΘ╩!\"!ê+¡àƒB)é6╧╒A\"Bé6Ω=½ï╚δ╩!\"ê┴é6∞>½äé6φ=½Å╒A@\"AABBé6ε=½Ä╒A@┴\"AABB¬≡∩0\"ë=¼å╒\"¬▀9¼É±ó=¼ç╚≥╩!\"ê¬╦½┴≤Në½║¼Ä\n⌠=¼ë╚⌡╩!\"ê¬⌐ ½Ö!Γ>½ô╞πë$%&τΦ÷╩!\"!ê+╒╘≈A°\"B╞\"¬ç╧╒A\"B*ç" [form nil tmp fn for-effect byte-compile-delete-errors t quote byte-compile-warn "malformed quote form: %s" prin1-to-string compiled-function-p lambda byte-compile-unfold-lambda (let let*) mapcar #[(binding) "9½éçAA½ç┴┬├!\"ê@─A@┼\"Dç" [binding byte-compile-warn "malformed let binding: %s" prin1-to-string byte-optimize-form nil] 4] byte-optimize-body cond #[(clause) ":½î┴@┬\"├A\"Bç┼╞╟!\"êç" [clause byte-optimize-form nil byte-optimize-body for-effect byte-compile-warn "malformed cond form: %s" prin1-to-string] 4] progn byte-optimize-form prog1 prog2 2 (save-excursion save-restriction) with-output-to-temp-buffer if 3 (and or) reverse backwards byte-optimize byte-optimize-log (t source) 4 print-length print-level print-escape-newlines byte-compile-log-1 format " all subforms of %s called for effect; deleted" interactive "misplaced interactive spec: %s" (defun defmacro function condition-case save-window-excursion) unwind-protect catch macroexpand byte-compile-macro-environment mocklisp "%s is a malformed function" side-effect-free error-free "%s called for effect" " %s called for effect; deleted" append (nil)] 7]] 2)
(fset 'byte-optimize-form #[(form &optional for-effect) "└ \n\"├ë :½╔ @9½─\n½ê @╞Në¼ê @╟Në½▒ !ë=¼¿½£ ╩>½û╦╠ë╨╤╥╙ !╙!#!ê+╘\n\"ë¬ü *ç" [byte-optimize-form-code-walker form for-effect nil new opt byte-for-effect-optimizer byte-optimizer byte-optimize byte-optimize-log (t source) t 4 print-length print-level print-escape-newlines byte-compile-log-1 format " %s ==> %s" prin1-to-string byte-optimize-form] 7 "\
The source-level pass of the optimizer."])
(byte-code "└┴Mê┬├Mç" [byte-optimize-body #[(forms all-for-effect) "┴ëëë½í«éA@¡à╟@\"ë¼â¼ä\nBAë¼_ƒ,ç" [forms nil new fe result rest all-for-effect byte-optimize-form] 5] byte-compile-trueconstp (macro . #[(form) "└┴\nD├─\nD┼ED╞╟\nDDC├\n╚ECFç" [cond consp form eq car 'quote not symbolp t] 6])] 2)
(fset 'byte-optimize-associative-math #[(form) "└ë A\n½ù\n@º½ç\n@B¬à\n@B\nAë¼iA½í½ù @┼ @\"A½ç @ƒB¬é@E¬ê┼ @\"¬ü +ç" [nil form rest constants args apply] 5 "\
If the function is being called with constant numeric args,
evaluate as much as possible at compile-time. This optimizer
assumes that the function is associative, like + or *."])
(fset 'byte-optimize-nonassociative-math #[(form) "A@º½çAA@º¼éçA@AA @º½ì@\n @\" Aë¬o ½ê@\n BB¬ü\n*ç" [form rest constant] 4 "\
If the function is being called with constant numeric args,
evaluate as much as possible at compile-time. This optimizer
assumes that the function is nonassociative, like - or /."])
(byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mê╩╚╦╠#ê═╬Mê╧╨Mê╤╥Mê╙╘Mê╒╓Mê╩╫╦╒#ê╩╪╦┬#ê╩┘╦╞#ê╩┌╦─#ê╩█╦═#ê╩▄╦▌#ê╩▐╦▌#ê╩▀╦╤#ê╩α╦╤#ê╩ß╦╤#ê╩Γ╦╤#ê╩π╦╤#ê╩Σ╦╤#ê╩σ╦╙#ê╩µ╦╙#ê╩τ╦╙#ê╩Φ╦╙#ê╩Θ╦╙#ê╩Ω╦╙#ê╩δ╦╙#ê╩∞╦╙#ê╩φ╦╙#ê╩ε╦╙#ê╩∩╦╙#ê╩≡╦╙#ê╩±╦╙#ê╩≥╦╙#ê╩≤╦╙#ê╩⌠╦╧#ê╩⌡╦╧#ê╩÷╦╧#ê╩≈╦╙#ê╩°╦╙#ê╩∙╦╙#ê╩·╦╙#ê╩√╦╙#ê╩ⁿ╦²#ê²■Mê ü@ Mê╩üA ╦ #êüB üC MêüD üE MêüF üG MêüH üI MêüJ üK Mê╩üL ╦üB #ê╩üM ╦üD #ê╩üN ╦üF #ê╩üO ╦üH #ê╩üP ╦üJ #ê╩üQ ╦üR #ê╩üS ╦üR #ê╩üT ╦üR #ç" [byte-optimize-delay-constants-math #[(form start fun) "S ¢\nAëA½╢\n@º½t├┼ !S ¢\nAë½É\n@º½u\n@B\n├áê¬j╞├ \"╟ƒ\"Cñ)¬C )ç" [start form rest nil constants copy-sequence delq apply fun] 4] byte-optimize-plus #[(form) "└ ┬├#─ >½ç┼─╞ !\" A¼à╟╚╔Åç AA¼ä A@ç ç" [byte-optimize-delay-constants-math form 1 + 0 delq copy-sequence nil (eval form) ((error form))] 4] byte-optimize-minus #[(form) "└ ┬├#─┼ ¢!@ë╟=½æ╚ !ëAA╔╟┼ ¢\"íê¬í A@º½¢º½û╩ A@Z┬ 8E╔╚┼ ¢!\"ñ)┬ 8╟=½ä A@ç╦ AAA¼Å A@╟=½ê @ AAB¬ü !ç" [byte-optimize-delay-constants-math form 2 + reverse 3 last 0 copy-sequence delq - byte-optimize-predicate] 7] byte-optimize-multiply #[(form) "└ ┬├#ëA¼é┬ç AA¼ä A@ç─ !@ë╞=½å╟ AD¬╞┬=½ê╚┬╔ !\"¬╣╩=½è╦╚╩╔ !\"D¬¬╠=½ñ═╬╧ A\">½¢╚╠╔ !\"ë Aë@9½x ╨ @ @Eáê¬ü )ç" [byte-optimize-delay-constants-math form 1 * reverse last 0 progn delq copy-sequence -1 - 2 t mapcar symbolp +] 6] byte-compile-butlast #[(form) "└ !Aƒç" [reverse form] 2] put byte-optimizer byte-compile-inline-expand byte-optimize-divide #[(form) "└ ┬├#─ AA!@뺽¼╞U½ï ─ !Aƒ)¬£ A@º½û @ A@Ñ AA─ !Aƒ)BB╟ AA¼à A@¬¼ A@╚=½ë╔╩ AA╦#¬£╠=½û═╬ ¢½è ─ !Aƒ)¬â A@D¬ü )ç" [byte-optimize-delay-constants-math form 2 * reverse last 1 nil 0 append (progn) (0) -1 - 3] 5] byte-optimize-logmumble #[(form) "└ ┬ @#├─ >½û @┼=½å╞ AB¬å╟─╚ !\"ë¬ö ó╔=½ì╩ >½ê╟╩╚ !\"¬ü !ç" [byte-optimize-delay-constants-math form 1 byte-optimize-predicate 0 logand progn delq copy-sequence logior -1] 5] byte-optimize-binary-predicate #[(form) "A@:½êA@@┴=¬ïA@9½çA@┬>½¬├8:½ê├8@┴=¬ï├89½ç├8┬>½à─┼╞Åç@├8A@Eçç" [form quote (nil t) 2 nil (byte-code "└┴\n!Dç" [quote eval form] 3) ((error form))] 3] byte-optimize-predicate #[(form) "└ A\n½á½¥\n@:½ç\n@@─=¬è\n@9?«ä\n@┼>\nAë¼`½å╞╟╚Ŭü *ç" [t form rest ok quote (nil t) nil (byte-code "└┴\n!Dç" [quote eval form] 3) ((error form))] 4] byte-optimize-identity #[(form) "A½ëAA¼äA@ç┴┬AGAG├U½â─¬ü┼#êç" [form byte-compile-warn "identity called with %d arg%s, but requires 1" 1 "" "s"] 5] identity + * - / max byte-optimize-associative-math min = eq eql equal string= string-equal < > <= >= 1+ 1- not null memq consp listp symbolp stringp string< string-lessp logand logior logxor lognot car cdr car-safe cdr-safe quote byte-optimize-quote #[(form) "A@:¼ìA@9½ëA@┴>¼éçA@ç" [form (nil t)] 2] byte-optimize-zerop #[(form) "A@º½ä┴!ç\n½ç├A@─Eçç" [form eval byte-compile-delete-errors = 0] 3] zerop byte-optimize-and #[(form) "A?«½┴>½Ü┬├─!ëëA@½åAë¬v┴íê!┴EçAA¼äA@ç┼!ç" [form nil progn byte-optimize-and copy-sequence byte-optimize-predicate] 6] byte-optimize-or #[(form) "└ >½ç┬└├ !\" AëA½Ñ@:½ç@@┼=¬ë@9½å@╞=½b├ !@ >└íë¬U AA½à╟ !¬â A@)ç" [nil form delq copy-sequence rest quote t byte-optimize-predicate] 5] byte-optimize-cond #[(form) "└└\nA₧ë½ë├ ─\n!\"¬o└\nA>½ç├└─\n!\"\n Aë½╙ @ó:½ê @ó@┼=¬ï @ó9½ç @ó╞=½_ \nA=½₧ @A½ô @AA½ç╟ @AB¬ë @A@¬â @@¬Å A½ï─\n! @\n>└íê└ë¬()\nó╚=½ó\nAë @:½û @A¼É╩ @@╦\n@\nAAB!E¬ü\n)ç\nç" [nil rest form delq copy-sequence quote t progn cond clauses or byte-optimize-cond] 6] byte-optimize-if #[(form) "A@ë:½å @┬=¬ç 9½à ├=½à─8¬╧ ¼æ┼¢½ç╞╟¢B¬└╟8¬╗─8½Æ╟¢╚ܽê╔ ─8E¬º¬ñ╟8¼à┼¢½û╔╩ D┼¢½ç╞╟¢B¬â╟8E¬ä╞ ╦E)ç" [form clause quote t 2 4 progn 3 (nil) if not nil] 6] byte-optimize-while #[(form) "A@¡üç" [form] 1] and or cond if while /= byte-compile-negation-optimizer atom nlistp] 4)
(byte-code "└┴Mê┬├Mê─┼╞└#ê─╟╞┬#ê─╚╞╔#ê─╩╞╔#ê╔╦Mê─╠╞═#ê═╬Mê─╧╞╨#ê╨╤Mê╥╙ë½É─@╓╫#êAë¼p½É─@╓╪#êAë¼p*┘┌Mê─█▄┘#ê▌└ç" [byte-optimize-funcall #[(form) "A@ëó┬>½ë A@AAB¬ü)ç" [form fn 'function] 3] byte-optimize-apply #[(form) "A@GS8 ½å ó├=½º A@<½ù─AA!Aƒ╞\nDñ╟╚ A@\"ñ)¬ê╔╩╦ !\"ê╠«ü*ç" [form last fn quote reverse butlast funcall mapcar #[(x) "└ Dç" [quote x] 2] byte-compile-warn "last arg to apply can't be a literal atom: %s" prin1-to-string nil] 4] put funcall byte-optimizer apply let byte-optimize-letX let* #[(form) "A@¼å┴AABç┬8¼à├¢½éç@─=½Ä┼╞╟╚╟╔A@\"\"╩#ç╦A@!═╦A!@A@╬F)ç" [form progn 2 3 let append (progn) mapcar car cdr (nil) reverse binds let* nil] 7] nth byte-optimize-nth #[(form) "A@┴>½ö┬A@├U½à─8¬à┼─8DDç╞!ç" [form (0 1) car 0 2 cdr byte-optimize-predicate] 4] nthcdr byte-optimize-nthcdr #[(form) "A@ë┬>¼à├!¬ô─8┼ Së!½å╞D¬r)ç" [form count (0 1 2) byte-optimize-predicate 2 natnump cdr] 4] (% * + / /= 1+ < <= = > >= append aref ash assoc assq boundp buffer-file-name buffer-local-variables buffer-modified-p buffer-substring capitalize car cdr concat coordinates-in-window-p copy-marker count-lines documentation downcase elt fboundp featurep file-directory-p file-exists-p file-locked-p file-name-absolute-p file-newer-than-file-p file-readable-p file-symlink-p file-writable-p format get get-buffer get-buffer-window getenv get-file-buffer length logand logior lognot logxor lsh marker-buffer max member memq min mod next-window nth nthcdr previous-window rassq regexp-quote reverse string< string= string-lessp string-equal substring user-variable-p window-buffer window-edges window-height window-hscroll window-width zerop) (arrayp atom bobp bolp buffer-end buffer-list buffer-size buffer-string bufferp char-or-string-p commandp cons consp current-buffer dot dot-marker eobp eolp eq eql equal get-largest-window identity integerp integer-or-marker-p interactive-p keymapp list listp make-marker mark mark-marker markerp minibuffer-window natnump nlistp not null numberp one-window-p point point-marker processp selected-window sequencep stringp subrp symbolp syntax-table-p vector vectorp windowp) side-effect-and-error-free-fns side-effect-free-fns side-effect-free t error-free byte-compile-splice-in-already-compiled-code #[(form) "┴>¼ä┬!ç─┼A@╞8╟#!ê╔8\\\n]\nTëç" [byte-optimize (t lap) byte-compile-normal-call form byte-inline-lapcode byte-decompile-bytecode-1 2 t byte-compile-depth 3 byte-compile-maxdepth] 5] byte-code byte-compile (byte-constant byte-constant2 byte-varref byte-varset byte-varbind) byte-constref-ops] 5)
(fset 'disassemble-offset #[nil " W½╜┬├\"┬┼\"╞=½îTH¬á├=½ÜTHT╔H╩\"\\¬ü)çY½êZçY½ƒX½ÖTHT╔H╩\"\\çY¡ÉX¡èTHç" [op byte-nth logand 7 tem 248 6 ptr bytes lsh 8 byte-constant byte-constant2 byte-goto-if-not-nil-else-pop byte-rel-goto byte-insertN] 4 "\
Don't call this!"])
(fset 'byte-decompile-bytecode #[(bytes constvec) "└ë┴┼\"+ç" [nil 0 byte-compile-tag-number byte-compile-variables byte-compile-constants byte-decompile-bytecode-1 bytes constvec] 3 "\
Turns BYTECODE into lapcode, refering to CONSTVEC."])
(fset 'byte-decompile-bytecode-1 #[(bytes constvec &optional make-splicable) "G┴┬ëëëëëëë┴ \nUäH╬ Hë>¼₧>½»JZZH╘Z\\ ₧«î╒ B Bë @A¬≡╓=½à╫¬ç>½╗H╫=½£;½ç┌\"¬ä₧«ÜCBë@¬Å₧«ëCBë@¬ú½ƒ▐=½ÖSU½à┬¬î«ä╒ ë╙«ü┴BBBTëé! ë½½@@ ₧ë½ÿ┬ABABíêα \" AAë¼U) ½åßΓ \"ê@A@¼àA½ê┬BBπΣƒ\".ç" [bytes 0 nil retcount endtag tmp lap offset op tags tag optr ptr length disassemble-offset byte-code-vector byte-goto-ops byte-rel-goto-ops byte-rel-goto byte-goto 127 byte-compile-make-tag byte-constant2 byte-constant byte-constref-ops constvec assoc byte-compile-constants byte-compile-variables make-splicable byte-return rest delq error "optimizer error: missed tags %s" mapcar cdr] 12 "\
As byte-decompile-bytecode, but updates
byte-compile-{constants, variables, tag-number}.
If the optional 3rd arg is true, then `return' opcodes are replaced
with `goto's destined for the end of the code."])
(byte-code "└ B├┼╟╔ñ\n└ç" [TAG byte-goto-ops byte-tagref-ops (byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop) byte-conditional-ops (byte-constant byte-dup byte-symbolp byte-consp byte-stringp byte-listp byte-numberp byte-integerp byte-eq byte-equal byte-not byte-cons byte-list1 byte-list2 byte-interactive-p "Byte-codes that can be moved past an unbind.") byte-after-unbind-ops (byte-constant byte-dup byte-symbolp byte-consp byte-stringp byte-listp byte-integerp byte-numberp byte-eq byte-equal byte-not byte-car-safe byte-cdr-safe byte-cons byte-list1 byte-list2 byte-point byte-point-max byte-point-min byte-following-char byte-preceding-char byte-current-column byte-eolp byte-eobp byte-bolp byte-bobp byte-current-buffer byte-interactive-p) byte-compile-side-effect-and-error-free-ops (byte-varref byte-nth byte-memq byte-car byte-cdr byte-length byte-aref byte-symbol-value byte-get byte-concat2 byte-concat3 byte-sub1 byte-add1 byte-eqlsign byte-gtr byte-lss byte-leq byte-geq byte-diff byte-negate byte-plus byte-max byte-min byte-mult byte-char-after byte-char-syntax byte-buffer-substring byte-string= byte-string< byte-nthcdr byte-elt byte-member byte-assq byte-quo byte-rem) byte-compile-side-effect-free-ops] 2)
(defconst byte-boolean-vars '(abbrevs-changed abbrev-all-caps inverse-video visible-bell check-protected-fields no-redraw-on-reenter cursor-in-echo-area noninteractive stack-trace-on-error debug-on-error debug-on-quit debug-on-next-call insert-default-directory vms-stmlf-recfm indent-tabs-mode meta-flag load-in-progress defining-kbd-macro completion-auto-help completion-ignore-case enable-recursive-minibuffers print-escape-newlines delete-exited-processes parse-sexp-ignore-comments words-include-escapes pop-up-windows reset-terminal-on-clear truncate-partial-width-windows mode-line-inverse-video) "\
DEFVAR_BOOL variables. Giving these any non-nil value sets them to t.
If this does not enumerate all DEFVAR_BOOL variables, the byte-optimizer
may generate incorrect code.")
(fset 'byte-optimize-lapcode #[(lap &optional for-effect) "└ëëëëë┴┬└ëëë½â¬ü \nâK ┴=¼è╘>½ä╒╓!ê\n└\n½`\n@\nA@╪\n8@┘=½²@>½⌡┌@JH \nA\n ▄U½¢╘>½å╒▌\"ê▐▐\"\"éB ┬U½ù╘>½å╒▀\"ê▐\"éB αU½Ö╘>½å╒ß\"ê┘áê┬íêéB Γπ!êéB @$>½±A=½Θ@σ=½ì▐\"µ ¬ƒ@'>½Å┘ë áê┬íê¬êΓΦ╪8\"êΘ>½¬*½ªδ>½á┌∞ë-./≡±≥A@A@≤ !A@%!ê+┌éB @⌠=âAA=â@⌡>âA@6>ë ½ê@≈=âB ┌@°>½═ ½êA@∙>½àA¬Å┌:₧«ë┌C:Bë:@ ╘>½ò╒√@ B&ê@áê íêéB ╘>½è╒ⁿ$ê@áê²áê┬íê▄éB @²=½▓@┘=½½@■>½ñ╘>½ç╒ ë#ê┌\nA\n▐▐\"\"éB @ü@ =½╓@üA =¼ë@üB =½─╘>½£╒üC ë@üA =½àüB ¬âüA AB#êë@üA =½àüB ¬âüA áê▐\"┌éB @üA =¼ë@üB =½╥@σ=½╦A=½├@üA =½àüB ¬âüA D╘>½ò╒üE DAB&ê▐\"Dáê┌)éB @≈=â¥@F>â¥@üA =¼ë@üG =½åA@¬àA@?½ú╘>½è╒üH #ê\nA\n▐▐\"\"¬┴@'>½ƒ╘>½Å╒üI σAB$ê▐\"¬ò╘>½Å╒üI σAB$êσáê┌éB @⌠=½√\nAë @@²=½ê Aë ¬rA @A=½▌ @@⌠=½╒üJ >½╖üK L\nA =¼ÅALüM PL¬j╘>½É╒üN LëL&ê)┌ @²áê @┬íê \néB @üO =½Σ@üO =½█üP >½ñ*½áδ>½Ü┌∞ë-./≡±üQ A@A@#!ê+üR \"ë½Éíê>A¬c▐\"┌éB @üO =½└üR \"¼╢üS >½á*½£δ>½û┌∞ë-./≡±üT A@\"!ê+▐\"┌éB @üU >âª@üV >äª\n ┬üW >└ëXLYZ Aë ½Ñ @@üO =¼¢Y½j @XBXLü[ PLZTZ¬SY½Ω @@üO =½ï±ü\\ @A\"¬ê @«âüK ]Zü^ W½₧ü_ ╒ü` Lüa QXƒ]]Eñ$ê¬ñ╘>½₧╒üb Zë▄U½àüK ¬âüc ]]&ê)\n íê,┌éB @üd =½«@e>½ª╘>½ì╒üf ë%ê\náê\nAáê┌éB @üd =âi@üg >½∙┬AW½≥ëASí┬U½ç▐\n\"ê@üh =½ë\n┘┬Báê¬ê▐\"╘>½╗╒üf @ATB@üh =½à\n@¬ä\nA@A┬U¼Å@üh =½å\nA@¬âüK %ê┌éB @$>½╪A>A@ë @üi >½╞ =äB @σ=¼ê @σ=âB ╘>½î╒üj @ ë$ê @ük =½çük áê Aíê┌éB @ül >âiA>Aë @@üm >âi @=¼√ @@ün ₧@>½ú@áêAíê╘>½╦╒üo @$ê¬╝üO ▄ 8@=¼î üp ABíê╘>½Å╒üq @A@$êA@áê A@íê┌éB @≈=â@σ=âA>Aë @@ür >â @=¼ @ë@A@¼àüs ¬âüt >½¬╘>½Ä╒üu %ê@áêAíê└\nB\n¬╖╘>½è╒üv #êüO ▄ 8@=¼î üp ABíê A@íê▐\"┌éB @üw =âó@σ=½■A\n>¼÷A>Aë @@⌠=½µ @AA=½▄A@6>¼╙üp x╘>½Ñ╒üy AA@ @ëAA@ @xA@²σxB&ê\n²┬B\nABíê xí ABíê)▄┌éB @σ=âB @üO =âB A>Aë @A=½² @@üz >½≤üp x╘>½Ñ╒ü{ A@AA@ @ @@ü| ₧AxBxA@&ê xí ABíê @@üG =½Ö\n≈└:₧«ë└C:Bë:@B\nABíê @@ü} >A@áê)┌\nAë\néK └:└~ë\nâç\n\n@\nA@@>½⌐A≈=½ÆA~>¼ÜA~B~¬ÉA:>¼êA:B:@≈=½╬╪\n8@≈=½┼A╪\n8@=½║@üÇ >½▒╘>½É╒üü ë&ê\nAA@ABáê\nA²┬Báê▄é~\n@üé >½╔\n └ Aë @@²=¼tA @A=½û@ @@=½î ²┬Báê┌¬T½╘╘>½╬╒üâ ëë$ê¬┬@üd =½╣@üd =½░╘>½ò╒üI üd AA\\B$ê┌▐\"ëAA\\íê\nAë\näY ä\\ä.ç" [nil first-time 0 byte-compile-delete-errors byte-compile-side-effect-free-ops byte-compile-side-effect-and-error-free-ops side-effect-free tmp3 tmp2 tmp rest add-depth keep-going off2 lap2 off1 lap1 off0 lap0 byte-optimize-log (t byte) byte-compile-log-lap-1 " ---- next pass" lap 2 byte-discard t byte-stack+-info 1 " %s discard --> <deleted>" delq " %s discard --> <deleted> discard" -1 " %s discard --> discard discard" error "Optimizer error: too much on the stack" byte-goto-ops byte-goto "<deleted>" byte-goto-always-pop-ops "Depth conflict at tag %d" (t byte) byte-optimize (t source) 4 print-length print-level print-escape-newlines byte-compile-log-1 format " (goto %s) %s: --> %s %s:" prin1-to-string byte-varref (byte-varset byte-varbind) byte-boolean-vars byte-constant (byte-constant byte-dup) (nil t) byte-compile-constants " %s %s %s --> %s %s %s" " %s %s --> dup %s" byte-dup (byte-varset byte-varbind) " dup %s discard --> %s" byte-not byte-goto-if-nil byte-goto-if-not-nil " not %s --> %s" inverse " %s %s %s: --> %s %s:" byte-conditional-ops byte-goto-if-nil-else-pop " %s %s --> <deleted>" " %s %s --> %s" (t byte) "" str " dup" " %s%s %s --> %s%s dup" TAG (t byte) " adjascent tags %d and %d merged" rassq (t byte) " unused tag %d removed" (byte-goto byte-return) (TAG nil) (t lap) deleted opt-p i " %s" "%d:" tagstr 6 apply " %s" " %s --> %s <deleted> %s" " %s <%d unreachable op%s> %s --> %s <deleted> %s" "s" byte-unbind byte-after-unbind-ops " %s %s --> %s %s" (byte-varbind byte-save-excursion byte-save-restriction) byte-varbind (byte-goto byte-return) " %s [%s] --> %s" byte-return (byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop) (byte-discard byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop) ((byte-goto-if-nil-else-pop byte-goto-if-nil) (byte-goto-if-not-nil-else-pop byte-goto-if-not-nil)) " %s-else-pop [%s] --> %s" byte-compile-make-tag " %s [%s] --> %s <skip>" (byte-discard byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop) (byte-goto-if-nil byte-goto-if-nil-else-pop) (byte-goto-if-not-nil byte-goto-if-not-nil-else-pop) " %s goto [%s] --> %s %s" " %s goto [%s] --> <deleted> goto <skip>" byte-varset newtag " %s: %s ... %s %s --> %s: %s %s: ... %s %s %s" (byte-goto byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop) "%s %s: ... %s: %s --> %s ... %s:" ((byte-goto-if-nil . byte-goto-if-not-nil) (byte-goto-if-not-nil . byte-goto-if-nil) (byte-goto-if-nil-else-pop . byte-goto-if-not-nil-else-pop) (byte-goto-if-not-nil-else-pop . byte-goto-if-nil-else-pop)) (byte-goto-if-nil-else-pop byte-goto-if-not-nil byte-goto-if-nil byte-goto-if-not-nil byte-goto byte-goto) byte-compile-variables byte-constref-ops (byte-varbind byte-varset) " %s %s %s --> %s dup %s" (byte-constant byte-varref) " %s [dup/%s]... %s --> %s dup..." byte-compile-maxdepth] 14 "\
Simple peephole optimizer. LAP is both modified and returned."])
(provide 'byte-optimize)